//部门列表转为树形结构思路
// 1、如果pid为空   说明是一级部门
// 2、如果pid不为空 判断谁的id与当前部门的pid全等  如果全等，
// 说明当前id的这个部门是pid部门的爹  要给爹的部门添加一个children

// 注意对于树形结构的处理  常用手段就是函数的递归

// 列表转树
// lsit :待转换的列表
// pid ;查找几级部们
export function list2Tree(list, pid) {
  // 存储结果的数组
  const arr = [];
  // 遍历list数组
  list.forEach((item) => {
    if (item.pid === pid) {
      //查找二级甚至多级部门
      //函数递归,根据item。id查找item的子部门
      const children = list2Tree(list, item.id);
      //如果children不为空   说明item有子部门
      if (children.length) {
        //需要给item添加children属性
        item.children = children;
      }

      // /查找一级部门
      arr.push(item);
    }
  });
  // 返回结果的树形数组
  return arr;
}
